<?php
require_once 'FModel/Common/BaseFactory.php';

final class AdminServiceFactory extends BaseFactory {
	const SCOPE = 'AdminService';

	private static $instance;

	/**
	 * @return AdminServiceFactory
	 */
	public static function getInstance() {
		if (!self::$instance) self::$instance = new self();
		return self::$instance;
	}
	
	/**
	 * @return AdminUserService
	 */
	public function createAdminUserService() {
		return $this->container->createObjectInstance(self::SCOPE, 'AdminUserService', 'Models/Admin/Service/AdminUserService.php');
	}
	
	/**
	 * @return AdminSessionService
	 */
	public function createAdminSessionService() {
		return $this->container->createObjectInstance(self::SCOPE, 'AdminSessionService', 'Models/Admin/Service/AdminSessionService.php');
	}
	
	/**
	 * @return AdminLogService
	 */
	public function createAdminLogService() {
		return $this->container->createObjectInstance(self::SCOPE, 'AdminLogService', 'Models/Admin/Service/AdminLogService.php');
	}
}

